# -*- coding: utf-8 -*-
import requests
import sys
import xlrd


# x 必须用UTF8编码格式，x内容出现 & 符号时，请用 %26 代替,
# 换行符使用 %0A
# 参数	    描述	      赋值例子
# bg	    背景颜色	   bg=颜色代码，例如：bg=ffffff
# fg	    前景颜色	   fg=颜色代码，例如：fg=cc0000
# gc	    渐变颜色	   gc=颜色代码，例如：gc=cc00000
# el	    纠错等级	   el可用值：h\q\m\l，例如：el=h
# w	        尺寸大小        w=数值（像素），例如：w=300
# m	        静区（外边距）	m=数值（像素），例如：m=30
# pt	    定位点颜色（外框）	pt=颜色代码，例如：pt=00ff00
# inpt	    定位点颜色（内点）	   inpt=颜色代码，例如：inpt=000000
# logo	    logo图片	             logo=图片地址，例如：logo=http://www.liantu.com/images/2013/sample.jpg


proxies = {
    "http": "http://127.0.0.1:8087",
}
api_url = 'http://qr.liantu.com/api.php?el=h&m=4&text='


def qr_code(png, text):
    print '%s,%s' % (png, text)
    qr_url = api_url+text
    r = requests.get(qr_url, proxies=proxies)
    f = open('%s.png' % png, 'wb')
    f.write(path+'\\'+r.content)
    f.close()


def cellint(cell):
    if type(cell) in (float, int):
        return int(cell)
    else:
        return cell


def readSheet(sheet):
    sh = wb.sheet_by_name(sheet)
    nrows = sh.nrows
    ncols = sh.ncols
    headers = dict((i, sh.cell_value(0, i)) for i in range(ncols))
    return [dict((headers[j], cellint(sh.cell_value(i, j))) for j in headers) for i in range(1, nrows)]


if __name__ == '__main__':
    qr_file = sys.argv[1]
    if len(sys.argv) == 3:
        path = sys.argv[2]
        # print path
    wb = xlrd.open_workbook(qr_file)
    qr = readSheet('Sheet1')
    for row in qr:
        qr_code(row[u'序号'], row[u'光缆编码'])